Complex Data Processing এর জন্য AWK Script Creation
AWK একটি অত্যন্ত শক্তিশালী এবং বহুমুখী টুল যা জটিল ডেটা প্রসেসিংয়ের কাজ সহজে সম্পন্ন করতে পারে। জটিল ডেটা প্রসেসিংয়ের জন্য AWK এর শক্তি পুরোপুরি ব্যবহার করা যেতে পারে, যেমন একাধিক শর্ত প্রয়োগ করা, ফাংশন ব্যবহার করা, লুপিং এবং ডেটা ফিল্টারিং ইত্যাদি। নিচে জটিল ডেটা প্রসেসিংয়ের জন্য একটি উদাহরণসহ স্ক্রিপ্ট তৈরি করার পদ্ধতি দেখানো হলো।
উদাহরণ: জটিল ডেটা প্রসেসিং স্ক্রিপ্ট
ধরা যাক, আমাদের একটি sales_data.txt ফাইল রয়েছে, যেখানে প্রতিটি লাইনে রয়েছে: বিক্রেতার নাম, পণ্যের নাম, বিক্রয় সংখ্যা, এবং বিক্রয় মূল্য। ফাইলটি দেখতে এমন:
John,ProductA,10,15.50
Emily,ProductB,5,20.00
John,ProductC,7,18.00
Sophia,ProductA,12,15.50
Emily,ProductA,9,15.50আমরা চাই:
- প্রতিটি বিক্রেতার মোট বিক্রয়ের সংখ্যা গণনা করা।
- কোন বিক্রেতা কত টাকা বিক্রি করেছেন তা গণনা করা।
স্ক্রিপ্ট তৈরি
awk -F, '
# BEGIN ব্লকে শিরোনাম প্রিন্ট করা হচ্ছে
BEGIN {
print "Sales Report"
print "---------------------"
}
# প্রতিটি লাইন প্রক্রিয়াকরণ
{
salesperson = $1 # বিক্রেতার নাম
sales_count = $3 # বিক্রয় সংখ্যা
sales_value = $3 * $4 # বিক্রয় মূল্য
# মোট বিক্রয়ের সংখ্যা যোগ করা
total_sales[salesperson] += sales_count
# মোট বিক্রয় মূল্য যোগ করা
total_revenue[salesperson] += sales_value
}
# END ব্লকে ফলাফল প্রিন্ট করা হচ্ছে
END {
print "Name | Total Sales | Total Revenue"
print "---------------------------------------"
for (person in total_sales) {
printf "%-8s | %-11d | $%-12.2f\n", person, total_sales[person], total_revenue[person]
}
}' sales_data.txtস্ক্রিপ্টের ব্যাখ্যা
-F,অপশন: কমা দিয়ে আলাদা করা ডেটা প্রক্রিয়াকরণের জন্য ফিল্ড সেপারেটর নির্ধারণ করা হয়েছে।BEGINব্লক: স্ক্রিপ্টের শুরুতে একবার চালিত হয় এবং শিরোনাম প্রিন্ট করে।total_sales[salesperson]এবংtotal_revenue[salesperson]: অ্যারে ব্যবহার করে প্রতিটি বিক্রেতার মোট বিক্রয় সংখ্যা এবং মোট আয় সংরক্ষণ করা হয়েছে।ENDব্লক: স্ক্রিপ্টের শেষে চালিত হয় এবং সব বিক্রেতার জন্য আউটপুট প্রিন্ট করে।
আউটপুট
Sales Report
---------------------
Name | Total Sales | Total Revenue
---------------------------------------
John | 17 | $324.50
Emily | 14 | $310.50
Sophia | 12 | $186.00জটিল প্রক্রিয়াকরণ যুক্ত করা
এই স্ক্রিপ্টে আপনি আরও শর্ত এবং ফিল্টারিং যোগ করতে পারেন, যেমন:
- শুধুমাত্র নির্দিষ্ট পণ্য ফিল্টার করা।
- বিক্রয় সংখ্যা ১০ এর উপরে হলে প্রিন্ট করা।
- বিভিন্ন ফাংশন যোগ করা, যেমন গড় বিক্রয় নির্ণয়।
ফিল্টার যোগ করা
awk -F, '$3 > 10 { print $1 " has sold more than 10 units of " $2 }' sales_data.txtসারসংক্ষেপ
AWK ব্যবহার করে জটিল ডেটা প্রসেসিংয়ের জন্য শক্তিশালী স্ক্রিপ্ট তৈরি করা যায়। অ্যারে, শর্ত, এবং লুপ ব্যবহার করে AWK প্রোগ্রামিং সহজে বিভিন্ন স্তরের বিশ্লেষণ করতে পারে। এই স্ক্রিপ্টগুলি ব্যবহার করে আপনি আপনার ডেটা বিশ্লেষণকে আরও কার্যকর এবং স্বয়ংক্রিয় করতে পারেন।
Read more